package com.jamlu.framework.ui.view;

import android.app.Dialog;
import android.content.Context;

import com.jamlu.framework.presenter.IBaseRxPresenter;
import com.jamlu.framework.ui.status.IStatusView;

/**
 * Author DMing
 * Created at 2018/2/23.
 * Description
 * v层基类接口
 */

public interface IBaseView {

    /**
     * 获取上下文
     */
    Context getContext();

    /**
     *
     * 获取P层实现类
     */
    <T extends IBaseRxPresenter> T getPresenter();

    /**
     * 获取状态布局
     * @return 状态请求
     */
    IStatusView getStatusView();

    /**
     * 显示加载对话框
     * @param cancelable 是否能点击取消
     */
    void showProgressDialog(Dialog dialog, boolean cancelable);

    /**
     * 隐藏加载对话框
     */
    void dismissProgressDialog(Dialog dialog);

    /**
     * 初始化对话框
     */
    Dialog createNewProgressDialog();

}
